Demand for memory bandwidth on network and switching devices continues to increase. For example, memory bandwidth needs to keep pace with both increases in port density (i.e., with rapidly increasing system port counts) as well as with increases in port speeds (e.g., as port speeds migrate upwards from 1 Gb to 10 Gb to 40 Gb to 100 Gb). Higher density ports and higher speeds translate to larger and faster tables with correspondingly larger aggregate memory and I/O bandwidth requirements. For example, a network-switching device may use memory lookup tables for routing and forwarding network traffic. These tables may include hundreds-of-thousands of entries used for routing millions of network packets.
In these systems, a central processing unit (CPU) or other specialized circuitry (e.g., a field programmable gate array) is configured to route network data received on one port of the device to another port. Firmware running on the network device reads addresses from the lookup table to determine what port a given packet should be forwarded over (based on reading a destination address listed in the packet). As both port density and port speeds increase, the rate at which data can be read from the forwarding table (and from the packet in a buffer) is becoming a limiting factor in the throughput of some network and switching devices.
Further, increases in port density and link speeds also present heavy demands on the memory write capabilities of a networking device. For example, the network device may include buffers used to store a network packet received on one port prior to forwarding the packet out on another port. If the write speeds are insufficient to keep pace with the port speed (and increased port density), packet drops may occur. Similarly, the network device may be configured to write counters values (or other data) to memory for use in traffic monitoring, traffic shaping and for variety of other purposes. Thus, much like the speed at which memory reads occur, the speed at which memory writes occur is becoming a limiting factor for the performance of some network and switching devices.